package com.gdssoft.pdaweb.service.ws;

import java.util.Date;

import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

@WebService(targetNamespace="http://gdssoft.foxconn.com/")
@SOAPBinding(style = Style.RPC)
public interface EamService {
	/**
	 * 推送巡检工单任务至本地数据库
     * @param assignmentId 唯一标识
	 * @param taskid 任务编号
	 * @param description 任务描述
	 */
	boolean pushInspectionWorkTask(@WebParam(name="assignmentId")String assignmentId,
			@WebParam(name="taskid")String taskid,
			@WebParam(name="description")String description);
	/**
	 * 推送巡检工单至本地数据库
	 * @return
	 */
	boolean pushInspectionWorkOrder(@WebParam(name="assignmentId")String assignmentId,
			@WebParam(name="wonum")String wonum,
			@WebParam(name="description")String description,
			@WebParam(name="appointPeople")String appointPeople,
			@WebParam(name="appointDate")String appointDate,
			@WebParam(name="siteId")String siteId,
			@WebParam(name="locationId")String locationId,
			@WebParam(name="locationDesc")String locationDesc,
			@WebParam(name="assetNo")String assetNo,
			@WebParam(name="assetDesc")String assetDesc,
			@WebParam(name="reportedBy")String reportedBy,
			@WebParam(name="reportDate")String reportDate);/**/
	/**
	 * 推送维修工单至本地数据库
	 * 推送维修工单至本地数据库
	 * @param assignmentId 唯一标识
	 * @param wonum 工单号
	 * @param description 问题描述
	 * @param appointPeople 指派人
	 * @param appointDate 指派时间
	 * @param siteId 站点编号
	 * @param locationId 位置编号
	 * @param locationDesc 位置描述
	 * @param assetNo 资产编号
	 * @param assetDesc 资产描述
	 * @param reportedBy 报修人
	 * @param reportDate 报修日期
	 * @return
	 */
	boolean pushRepairWorkOrder(@WebParam(name="assignmentId")String assignmentId,
			@WebParam(name="wonum")String wonum,
			@WebParam(name="description")String description,
			@WebParam(name="appointPeople")String appointPeople,
			@WebParam(name="appointDate")String appointDate,
			@WebParam(name="siteId")String siteId,
			@WebParam(name="locationId")String locationId,
			@WebParam(name="locationDesc")String locationDesc,
			@WebParam(name="assetNo")String assetNo,
			@WebParam(name="assetDesc")String assetDesc,
			@WebParam(name="reportedBy")String reportedBy,
			@WebParam(name="reportDate")String reportDate);
	/**
	 * EAM 推送资产基本信息
	 * @param assetNo 资产编号
	 * @param assetDesc 资产描述
	 * @param houseId 房屋ID
	 * @param locationId 位置ID
	 * @param location  位置描述
 	 * @param parent  父级资产
	 * @param siteId  站点
	 * @param status  状态
	 * @param c_barCode 资产条码
	 * @param classStructuredId 资产分类编码
	 * @param isChange 是否换表
	 * @return
	 */
	boolean pushAssetInfo(@WebParam(name="assetNo")String assetNo,
			@WebParam(name="assetDesc")String assetDesc,
			@WebParam(name="houseId")String houseId,
			@WebParam(name="locationId")String locationId,
	        @WebParam(name="location")String location,
            @WebParam(name="parent")String parent,
            @WebParam(name="siteId")String siteId,
            @WebParam(name="status")String status,
            @WebParam(name="c_barCode")String c_barCode,
            @WebParam(name="classStructuredId")String classStructuredId,
            @WebParam(name="isChange")String isChange);
	/**
	 * 
	 * @param assetNum  资产编号
	 * @param itemNum   备件编号
	 * @param description  备件描述
	 * @param siteId  站点
	 * @param issueUnit  计量单位
	 * @return
	 */
	
	boolean pushAssetDetail(@WebParam(name="assetNum")String assetNum,
			@WebParam(name="itemNum")String itemNum,
			@WebParam(name="description")String description,
			@WebParam(name="siteId")String siteId,
	        @WebParam(name="issueUnit")String issueUnit);
	/**
	 * 
	 * @param assetNum 资产编号
	 * @param siteId   站点
	 * @param status   状态（5表示领料，调用此方法时直接传“5”）
	 * @return
	 */
	public boolean alertRepairWorkStatus(@WebParam(name="assignmentId")String assignmentId,
			@WebParam(name="status")String status);
	
	/**
	 * @param barCode  新的资产条码
	 * @param assetNum 新的资产编号
	 * @param siteId   新的站点
	 * @param oldBarCode  旧的资产条码
	 * @param oldAssetNum 旧的资产编号
	 * @param oldSiteId   旧的站点
	 * @param operator    换表人
	 * @param operateTime 换表时间
	 * @return
	 */
	boolean pushMeterOperate(@WebParam(name="barCode")String barCode,
			@WebParam(name="assetNum")String assetNum,
			@WebParam(name="siteId")String siteId,
			@WebParam(name="oldBarCode")String oldBarCode,
	        @WebParam(name="oldAssetNum")String oldAssetNum,
            @WebParam(name="oldSiteId")String oldSiteId,
            @WebParam(name="operator")String operator,
            @WebParam(name="operateTime")Date operateTime);
	
}
